home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / redakcyjne / programy / VideoLAN Client (VLC) 1.0.5 / vlc-1.0.5-win32.exe / lua / playlist / france2.lua < prev    next >
Text File  |  2010-01-30  |  2KB  |  58 lines

  1. --[[
  2.  $Id$
  3.  
  4.  Copyright ┬⌐ 2008 the VideoLAN team
  5.  
  6.  Authors: Antoine Cellerier <dionoea at videolan dot org>
  7.  
  8.  This program is free software; you can redistribute it and/or modify
  9.  it under the terms of the GNU General Public License as published by
  10.  the Free Software Foundation; either version 2 of the License, or
  11.  (at your option) any later version.
  12.  
  13.  This program is distributed in the hope that it will be useful,
  14.  but WITHOUT ANY WARRANTY; without even the implied warranty of
  15.  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  16.  GNU General Public License for more details.
  17.  
  18.  You should have received a copy of the GNU General Public License
  19.  along with this program; if not, write to the Free Software
  20.  Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  21. --]]
  22.  
  23. -- Probe function.
  24. function probe()
  25.     return vlc.access == "http"
  26.         and string.match( vlc.path, "jt.france2.fr/player/" )
  27. end
  28.  
  29. -- Parse function.
  30. function parse()
  31.     p = {}
  32.     while true do
  33.         -- Try to find the video's title
  34.         line = vlc.readline()
  35.         if not line then break end
  36.         if string.match( line, "class=\"editiondate\"" ) then
  37.             _,_,editiondate = string.find( line, "<h1>(.-)</h1>" )
  38.         end
  39.         if string.match( line, "mms.*%.wmv" ) then
  40.             _,_,video = string.find( line, "mms(.-%.wmv)" )
  41.             video = "mmsh"..video
  42.             table.insert( p, { path = video; name = editiondate } )
  43.         end
  44.         if string.match( line, "class=\"subjecttimer\"" ) then
  45.             oldtime = time
  46.             _,_,time = string.find( line, "href=\"(.-)\"" )
  47.             if oldtime then
  48.                 table.insert( p, { path = video; name = name; duration = time - oldtime; options = { ':start-time='..tostring(oldtime); ':stop-time='..tostring(time) } } )
  49.             end
  50.             name = vlc.strings.resolve_xml_special_chars( string.gsub( line, "^.*>(.*)<..*$", "%1" ) )
  51.         end
  52.     end
  53.     if oldtime then
  54.         table.insert( p, { path = video; name = name; options = { ':start-time='..tostring(time) } } )
  55.     end
  56.     return p
  57. end
  58.